#include "checker.h"
#include "constants.h"
#include "dist_calculator.h"
#include "graph.h"
#include "modifier.h"
#include "process_state.h"
#include "event.h"
#include "broot_force.h"

#include <iostream>

using std::cout;
using std::endl;

int main()
{
    for (size_t d = n; d > 0; --d) {
        FullGraph gd(d, d);
        if (biparate(&gd)) {
            cout << "FullGraph " << gd.name() << " is biparate" << endl;
            continue;
        }
        if (naiveColoring(&gd) <= n + 1) {
            cout << "FullGraph " << gd.name() << " can be colored naive" << endl;
            continue;
        }
        if (runningNaiveColoring(&gd) <= n + 1) {
            cout << "FullGraph " << gd.name() << " can be colored running naive" << endl;
            continue;
        }
        if (d % 2 == 0) {
            FullEvenGraph gn(d + 1, n);
            FullEvenGraph gde(d, d);
            BrootForce bf(&gn, &gde, d);
            bf.run();
        }
    }
}
